মূল ধারণাসমূহ

একাদশ- দ্বাদশ শ্রেণি - উচ্চতর গণিত - উচ্চতর গণিত – ২য় পত্র | | NCTB BOOK

যোগাশ্রয়ী প্রোগ্রামিংয়ের মূল ধারণাসমূহ প্রোগ্রামিংয়ের এমন কিছু মৌলিক নীতির ওপর ভিত্তি করে গঠিত, যা প্রোগ্রামের নির্ভরযোগ্যতা, পূর্বাভাসযোগ্যতা, এবং পুনর্ব্যবহারযোগ্যতা বৃদ্ধি করে। এখানে যোগাশ্রয়ী প্রোগ্রামের গুরুত্বপূর্ণ ধারণাসমূহ তুলে ধরা হলো:


১. বিশুদ্ধ ফাংশন (Pure Function)

  • Pure Function এমন ফাংশন যা একই ইনপুটের জন্য সবসময় একই আউটপুট প্রদান করে এবং ফাংশনের বাইরে কোনো Side Effect সৃষ্টি করে না। এই বৈশিষ্ট্যটি ফাংশনকে পূর্বাভাসযোগ্য এবং নির্ভরযোগ্য করে তোলে।

২. অপরিবর্তনীয়তা (Immutability)

  • যোগাশ্রয়ী প্রোগ্রামিংয়ে ডেটা অপরিবর্তনীয় থাকে, অর্থাৎ ভেরিয়েবল বা অবজেক্টের মান নির্ধারণ করার পর তা পরিবর্তন করা হয় না। অপরিবর্তনীয় ডেটা ব্যবহারে প্রোগ্রামের নির্ভরযোগ্যতা বৃদ্ধি পায়, এবং এতে সহজেই ত্রুটি সনাক্ত করা যায়।

৩. উচ্চতর-স্তরের ফাংশন (Higher-Order Function)

  • Higher-Order Function হলো এমন ফাংশন যা অন্য ফাংশনকে ইনপুট হিসেবে গ্রহণ করতে পারে অথবা অন্য ফাংশনকে আউটপুট হিসেবে রিটার্ন করতে পারে। এটি কোডকে সংক্ষিপ্ত এবং মডুলার করে।

৪. প্রথম শ্রেণীর ফাংশন (First-Class Function)

  • যোগাশ্রয়ী প্রোগ্রামিংয়ে ফাংশনগুলোকে ভেরিয়েবল হিসেবে সংরক্ষণ করা, ফাংশনের আর্গুমেন্ট হিসেবে পাঠানো, এবং অন্য ফাংশন থেকে রিটার্ন করা যায়। এটি প্রোগ্রামিংয়ে ফাংশনের ব্যবহারের নমনীয়তা বৃদ্ধি করে।

৫. পুনরাবৃত্তি (Recursion)

  • যোগাশ্রয়ী প্রোগ্রামিংয়ে পুনরাবৃত্তি একটি গুরুত্বপূর্ণ পদ্ধতি, কারণ এখানে লুপের পরিবর্তে ফাংশনের মাধ্যমে পুনরাবৃত্তি সম্পন্ন করা হয়। এটি কোডকে নির্দিষ্ট গঠন ও সরলতা দেয় এবং কোড পুনর্ব্যবহারযোগ্য করে তোলে।

৬. ল্যাম্বডা এক্সপ্রেশন (Lambda Expressions)

  • Lambda Expression হল সংক্ষিপ্ত আকারে লেখা অজ্ঞাতনামা ফাংশন। এটি সাধারণত Higher-Order Function-এর সাথে ব্যবহৃত হয় এবং কোডকে আরো সংক্ষিপ্ত করে।

৭. কারিং (Currying) এবং আংশিক প্রয়োগ (Partial Application)

  • Currying হল এমন একটি পদ্ধতি, যেখানে একটি ফাংশন একবারে একটি আর্গুমেন্ট গ্রহণ করে এবং প্রতিটি আর্গুমেন্ট গ্রহণের পর একটি নতুন ফাংশন রিটার্ন করে। Partial Application একটি ফাংশনের কিছু আর্গুমেন্টকে নির্দিষ্ট করে ফাংশনের অংশ তৈরি করে। এগুলো প্রোগ্রামে নমনীয়তা বৃদ্ধি করে।

৮. ডেটা প্রবাহ (Data Flow) ও Composability

  • যোগাশ্রয়ী প্রোগ্রামে ডেটা প্রবাহে ফাংশনের Composition ব্যবহার করা হয়, অর্থাৎ এক ফাংশনের আউটপুটকে আরেক ফাংশনের ইনপুট হিসেবে ব্যবহার করা। এটি প্রোগ্রামের লজিককে ছোট ছোট অংশে ভাগ করে, যা সহজে পরিবর্তনশীল ও মডুলার।

যোগাশ্রয়ী প্রোগ্রামের এই ধারণাগুলি কোডকে পূর্বাভাসযোগ্য, নির্ভরযোগ্য, এবং পুনর্ব্যবহারযোগ্য করে তোলে, এবং উন্নত মানের সফটওয়্যার তৈরি করতে সাহায্য করে।

Promotion